None
The present invention is directed to the field of telecommunications in which data packets or other messages are routed to a destination whose network address must be resolved. The invention system is applicable to packet-mode access and transport systems, including local area networks, metropolitan area networks and wide area networks and especially the Internet and its router-based inter networking services.
In internet service, a domain name address is used to uniquely identify a host instead of using the host""s IP address. This is because the host""s domain name address, e.g.,  less than hostpc greater than @ less than domain greater than .com is easier to remember than the host""s IP address which is denoted in the form of, say,  less than 192.302.0.12 greater than . The relationship between the domain name and the IP address is analogous to the relationship between one""s street address and the 9-digit zip code. Therefore, when one wishes to send a message, the recipient""s domain address is used instead of the IP address. This is simply because it is easier to remember a domain name having a meaningful connotation, than it is to remember a string of up to twelve, or even more, random digits representing the recipient""s IP address.
However, internet routers which deliver messages and other internet traffic, do not recognize domain name addresses. Instead, they use the IP address. Therefore, when a local host, e.g.,  less than source_host greater than @ less than domainl greater than .com addresses a message to a remote host, e.g.,  less than destination_host greater than @ less than domain2 greater than .com, the latter""s domain name address must first be translated into an IP address before the local host""s router can deliver the packet to the internet to start its journey to the receiving host.
To facilitate such addressing, the internet has implemented an automatic domain-name to IP-address database lookup service, commonly known as the Domain Name System (DNS) server. The DNS is the internet standard mechanism for domain name registration and address resolution. Each local host attached to the internet is configured with a primary and secondary (backup) DNS address. These addresses correspond to primary and secondary servers to which local host""s DNS address translation queries are directed. Each DNS servers comprises a database which maps internet domain names to their corresponding IP addresses.
To determine the destination host""s IP address when the domain name is known, the local host sends a DNS query to the designated primary DNS server. The primary DNS server consults its database and responds with the IP address. The local host then uses the returned IP address to route the message to the destination host, whose internet domain name address was known. If the primary DNS server cannot resolve the IP address, or does not respond for some other reason, the secondary DNS server is automatically requested to respond.
An internet host""s DNS addresses are typically entered manually as part of that host""s service configuration. Manual entry of the DNS address presents some serious operational problems especially in a service configuration that involves multiple hosts and multiple service providers with Network Address Translation (NAT). For example, in a home with two host PCs designated PC1 and PC2, PC1 may be used for telecommuting or work at home via a corporate LAN, while PC2 may be used for regular internet access via an Internet Service Provider (ISP). In such case, PC1 and PC2 must be configured with a different DNS address associated with the corresponding service provider (the corporate LAN for telecommuting access) or the ISP (for Internet access). If a particular host wishes to have access to either the corporate LAN or the ISP, some method of associating specific local DNS requests with global DNS addresses is required. Configuring the DNS addresses manually each time access is switched from the corporate LAN to the ISP and vice versa, is inconvenient and time consuming. When tens or hundreds of hosts are involved, as is the case of users on a corporate LAN for example, the situation can become quite unmanageable.
The prior art teaches a number of methods and systems for assigning and maintaining IP addresses and name resolution. These include proxy schemes, naming protocols and connection protocols, among others.
U.S. Pat. No. 5,835,725 discloses an address assignment scheme for a local network. The end-station, usually a PC or a workstation, issues an address assignment request to a router, or other intermediate node. In response, the router chooses an address from a pool of MAC addresses allocated to the router and assigns it to the workstation.
U.S. Pat. No. 5,835,718 discloses a pseudo-proxy server that proxies for HTML pages that it is hosting. The proxy server maps a remote domain URL to a local domain URL, thereby making the remote URL appear local to its local users. A local user simply clicks on a local URL to access a remote URL. Once the remote URL is known, the pseudo-proxy server then translates the remote URL into the IP address of the remote host.
U.S. Pat. No. 5,777,989 is directed to handling a name resolution query issued by a local TCP/IP host which is connected to a plurality of networks. The ""989 patent teaches simultaneously broadcasting the name resolution query to the primary domain name servers of each of the networks to which the host is connected. If no reply is received then the alternate DNS for each network (if available) is queried.
U.S. Pat. No. 5,754,547 is directed to routing method and system for a network comprising a plurality of subnetworks (e.g., LANs) connected by a number of routing devices (e.g., routers) in which one may freely alter the connection of a local host without necessitating the modification of IP addresses. When a local host is connected to a subnetwork, the routing device associated with that subnetwork updates a table which keeps track of the IP address of the new local host and the time at which the new local host was connected thereto (the xe2x80x9cconnection timexe2x80x9d). The routing device sends a subscriber signal comprising the host""s address and connection time to the remaining routing devices, which compare the connection time within the subscriber signal with the connection time within their own tables, to update this information.
U.S. Pat. No. 5,751,971 discloses a system in which multiple router interfaces are assigned the same IP network address to create an IP work group. This allows a host to be relocated anywhere in the work group without requiring reconfiguration of the host.
U.S. Pat. No. 5,729,689 discloses a naming proxy agent which operates as a translator between network nodes practicing incompatible network naming protocols. As disclosed in the ""689 patent, the broadcast node (xe2x80x9cb-nodexe2x80x9d) naming protocol used in TCP/IP networks, can be used to obtain the address corresponding to a node name by broadcasting a xe2x80x9cwhere isxe2x80x9d query with the name of the node whose network address it desires. Similarly, a point-to-point node (p-node) naming protocol is used by a p-node to obtain the address corresponding to a name by sending a query to a xe2x80x9cname serverxe2x80x9d. The b-node and the p-node protocols are distinct and incompatible naming protocols. A first station utilizing the b-node naming protocol cannot obtain the network address for p-nodes. Similarly, b-nodes cannot obtain the network address for non-local addresses since b-nodes broadcast name queries only locally. The proxy agent in the ""689 patent translates a first name query protocol into a second name query protocol to allow otherwise incompatible network nodes to communicate with one another.
U.S. Pat. No. 5,636,216 is directed to a system in which a local network is connected to other networks via a gateway node, the local network including nodes which cannot monitor all the other nodes in the local network. The IP address of a target node in the local network is translated at the gateway node to a network-specific local address of the target node without broadcasting. The network specific local address of the target node is the address which is usable within the local network for forwarding a packet to the target node.
U.S. Pat. No. 5,434,974 is directed to a system for assigning unique names in a network to facilitate name resolution.
In the present invention, a node on a local network, which knows the internet address of a remote node, but not its IP address, originates a DNS query by sending the query to a DNS proxy agent connected to the local network. The DNS proxy agent redirects the DNS query to the proper destination address. The IP addresses of the real source and destination nodes are known only to the DNS proxy agent. This allows the network address of an internet-based name server to be changed without having to reconfigure the DNS address on the LAN-based host. Thus, the present invention is intended to eliminate the need to manually re-configure the primary and secondary DNS server addresses when a single or multiple hosts share the same router to access the internet via multiple service providers.
In the present invention, each host on a LAN is configured with a fixed local (i.e., unregistered) DNS address. The local DNS address corresponds to an address of the router and so all DNS requests from a host on the LAN goes to the router. A DNS proxy agent implemented in the router simulates a DNS serve function in the router. The DNS proxy agent intercepts all local DNS requests addressed to the router, and translates these requests into global DNS requests. The proxy agent then forwards the requests to the DNS servers. Thus, the DNS proxy agent automatically performs the required mapping between the local DNS address and the global DNS address, and vice versa.
In one aspect of the present invention, the router itself is programmed to automatically obtain the latest global DNS address using IPCP whenever a PPP session is launched. Thus, neither the router nor the hosts need to be manually configured, when the global DNS address is changed at the service provider.
In another aspect of the present invention, the router uses Internet Protocol Control Protocol (IPCP) as defined in RFC-1877, or other standard mechanism, to automatically obtain the global DNS address from the service provider. Therefore, the DNS address can be directly associated with the physical or virtual connection to the service provider. Therefore, when a host selects one of the connections to access the internet or the corporate LAN, the host will be associated with the DNS address assigned to that interface via IPCP.